import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;

import java.util.ArrayList;
import java.util.List;

/**
 * @description: some desc
 * @author: jiashen
 * @date: 2021/10/19 下午10:38
 */
public class IsCity  extends UDF {
    public String evaluate(String cityString) {
        if(cityString.isEmpty() || "".equals(cityString)){
            return cityString;
        }

  return isCity(cityString);

    }

    public static String isCity(String cityString) {
        ArrayList<String> city = new ArrayList<>();
        city.add("石家庄");
        city.add("唐山");
        city.add("秦皇岛");
        city.add("邯郸");
        city.add("邢台");
        city.add("保定");
        city.add("张家口");
        city.add("承德");
        city.add("沧州");
        city.add("廊坊");
        city.add("衡水");
        city.add("太原");
        city.add("大同");
        city.add("阳泉");
        city.add("长治");
        city.add("晋城");
        city.add("朔州");
        city.add("晋中");
        city.add("运城");
        city.add("忻州");
        city.add("临汾");
        city.add("吕梁");
        city.add("呼和浩特");
        city.add("包头");
        city.add("乌海");
        city.add("赤峰");
        city.add("通辽");
        city.add("鄂尔多斯");
        city.add("呼伦贝尔");
        city.add("巴彦淖尔");
        city.add("乌兰察布");
        city.add("兴安盟");
        city.add("锡林郭勒盟");
        city.add("阿拉善盟");
        city.add("沈阳");
        city.add("大连");
        city.add("鞍山");
        city.add("抚顺");
        city.add("本溪");
        city.add("丹东");
        city.add("锦州");
        city.add("营口");
        city.add("阜新");
        city.add("辽阳");
        city.add("盘锦");
        city.add("铁岭");
        city.add("朝阳");
        city.add("葫芦岛");
        city.add("长春");
        city.add("吉林");
        city.add("四平");
        city.add("辽源");
        city.add("通化");
        city.add("白山");
        city.add("松原");
        city.add("白城");
        city.add("延边朝鲜族自治州");
        city.add("哈尔滨");
        city.add("齐齐哈尔");
        city.add("鸡西");
        city.add("鹤岗");
        city.add("双鸭山");
        city.add("大庆");
        city.add("伊春");
        city.add("佳木斯");
        city.add("七台河");
        city.add("牡丹江");
        city.add("黑河");
        city.add("绥化");
        city.add("大兴安岭地区");
        city.add("辖区");
        city.add("县");
        city.add("南京");
        city.add("无锡");
        city.add("徐州");
        city.add("常州");
        city.add("苏州");
        city.add("南通");
        city.add("连云港");
        city.add("淮安");
        city.add("盐城");
        city.add("扬州");
        city.add("镇江");
        city.add("泰州");
        city.add("宿迁");
        city.add("杭州");
        city.add("宁波");
        city.add("温州");
        city.add("嘉兴");
        city.add("湖州");
        city.add("绍兴");
        city.add("金华");
        city.add("衢州");
        city.add("舟山");
        city.add("台州");
        city.add("丽水");
        city.add("合肥");
        city.add("芜湖");
        city.add("蚌埠");
        city.add("淮南");
        city.add("马鞍山");
        city.add("淮北");
        city.add("铜陵");
        city.add("安庆");
        city.add("黄山");
        city.add("滁州");
        city.add("阜阳");
        city.add("宿州");
        city.add("巢湖");
        city.add("六安");
        city.add("亳州");
        city.add("池州");
        city.add("宣城");
        city.add("福州");
        city.add("厦门");
        city.add("莆田");
        city.add("三明");
        city.add("泉州");
        city.add("漳州");
        city.add("南平");
        city.add("龙岩");
        city.add("宁德");
        city.add("南昌");
        city.add("景德镇");
        city.add("萍乡");
        city.add("九江");
        city.add("新余");
        city.add("鹰潭");
        city.add("赣州");
        city.add("吉安");
        city.add("宜春");
        city.add("抚州");
        city.add("上饶");
        city.add("济南");
        city.add("青岛");
        city.add("淄博");
        city.add("枣庄");
        city.add("东营");
        city.add("烟台");
        city.add("潍坊");
        city.add("济宁");
        city.add("泰安");
        city.add("威海");
        city.add("日照");
        city.add("莱芜");
        city.add("临沂");
        city.add("德州");
        city.add("聊城");
        city.add("滨州");
        city.add("荷泽");
        city.add("郑州");
        city.add("开封");
        city.add("洛阳");
        city.add("平顶山");
        city.add("安阳");
        city.add("鹤壁");
        city.add("新乡");
        city.add("焦作");
        city.add("濮阳");
        city.add("许昌");
        city.add("漯河");
        city.add("三门峡");
        city.add("南阳");
        city.add("商丘");
        city.add("信阳");
        city.add("周口");
        city.add("驻马店");
        city.add("武汉");
        city.add("黄石");
        city.add("十堰");
        city.add("宜昌");
        city.add("襄樊");
        city.add("鄂州");
        city.add("荆门");
        city.add("孝感");
        city.add("荆州");
        city.add("黄冈");
        city.add("咸宁");
        city.add("随州");
        city.add("恩施土家族苗族自治州");
        city.add("省直辖行政单位");
        city.add("长沙");
        city.add("株洲");
        city.add("湘潭");
        city.add("衡阳");
        city.add("邵阳");
        city.add("岳阳");
        city.add("常德");
        city.add("张家界");
        city.add("益阳");
        city.add("郴州");
        city.add("永州");
        city.add("怀化");
        city.add("娄底");
        city.add("湘西土家族苗族自治州");
        city.add("广州");
        city.add("韶关");
        city.add("深圳");
        city.add("珠海");
        city.add("汕头");
        city.add("佛山");
        city.add("江门");
        city.add("湛江");
        city.add("茂名");
        city.add("肇庆");
        city.add("惠州");
        city.add("梅州");
        city.add("汕尾");
        city.add("河源");
        city.add("阳江");
        city.add("清远");
        city.add("东莞");
        city.add("中山");
        city.add("潮州");
        city.add("揭阳");
        city.add("云浮");
        city.add("南宁");
        city.add("柳州");
        city.add("桂林");
        city.add("梧州");
        city.add("北海");
        city.add("防城港");
        city.add("钦州");
        city.add("贵港");
        city.add("玉林");
        city.add("百色");
        city.add("贺州");
        city.add("河池");
        city.add("来宾");
        city.add("崇左");
        city.add("海口");
        city.add("三亚");
        city.add("省直辖县级行政单位");
        city.add("辖区");
        city.add("县");
        city.add("");
        city.add("成都");
        city.add("自贡");
        city.add("攀枝花");
        city.add("泸州");
        city.add("德阳");
        city.add("绵阳");
        city.add("广元");
        city.add("遂宁");
        city.add("内江");
        city.add("乐山");
        city.add("南充");
        city.add("眉山");
        city.add("宜宾");
        city.add("广安");
        city.add("达州");
        city.add("雅安");
        city.add("巴中");
        city.add("资阳");
        city.add("阿坝藏族羌族自治州");
        city.add("甘孜藏族自治州");
        city.add("凉山彝族自治州");
        city.add("贵阳");
        city.add("六盘水");
        city.add("遵义");
        city.add("安顺");
        city.add("铜仁地区");
        city.add("黔西南布依族苗族自治州");
        city.add("毕节地区");
        city.add("黔东南苗族侗族自治州");
        city.add("黔南布依族苗族自治州");
        city.add("昆明");
        city.add("曲靖");
        city.add("玉溪");
        city.add("保山");
        city.add("昭通");
        city.add("丽江");
        city.add("思茅");
        city.add("临沧");
        city.add("楚雄彝族自治州");
        city.add("红河哈尼族彝族自治州");
        city.add("文山壮族苗族自治州");
        city.add("西双版纳傣族自治州");
        city.add("大理白族自治州");
        city.add("德宏傣族景颇族自治州");
        city.add("怒江傈僳族自治州");
        city.add("迪庆藏族自治州");
        city.add("拉萨");
        city.add("昌都地区");
        city.add("山南地区");
        city.add("日喀则地区");
        city.add("那曲地区");
        city.add("阿里地区");
        city.add("林芝地区");
        city.add("西安");
        city.add("铜川");
        city.add("宝鸡");
        city.add("咸阳");
        city.add("渭南");
        city.add("延安");
        city.add("汉中");
        city.add("榆林");
        city.add("安康");
        city.add("商洛");
        city.add("兰州");
        city.add("嘉峪关");
        city.add("金昌");
        city.add("白银");
        city.add("天水");
        city.add("武威");
        city.add("张掖");
        city.add("平凉");
        city.add("酒泉");
        city.add("庆阳");
        city.add("定西");
        city.add("陇南");
        city.add("临夏回族自治州");
        city.add("甘南藏族自治州");
        city.add("西宁");
        city.add("海东地区");
        city.add("海北藏族自治州");
        city.add("黄南藏族自治州");
        city.add("海南藏族自治州");
        city.add("果洛藏族自治州");
        city.add("玉树藏族自治州");
        city.add("海西蒙古族藏族自治州");
        city.add("银川");
        city.add("石嘴山");
        city.add("吴忠");
        city.add("固原");
        city.add("中卫");
        city.add("乌鲁木齐");
        city.add("克拉玛依");
        city.add("吐鲁番地区");
        city.add("哈密地区");
        city.add("昌吉回族自治州");
        city.add("博尔塔拉蒙古自治州");
        city.add("巴音郭楞蒙古自治州");
        city.add("阿克苏地区");
        city.add("克孜勒苏柯尔克孜自治州");
        city.add("喀什地区");
        city.add("和田地区");
        city.add("伊犁哈萨克自治州");
        city.add("塔城地区");

        String cityFilter = cityString.replaceAll("市", "");
        return city.contains(cityFilter) ? cityFilter:"";
    }
}
